#pragma once
class TemplateMethodLibrary
{
public:
    TemplateMethodLibrary();
    virtual ~TemplateMethodLibrary();

    //步骤1;
    void Step1();

    //步骤2;
    virtual bool Step2() = 0;

    //步骤3;
    void Step3();

    //步骤4;
    virtual void Step4() = 0;

    //步骤5;
    void Step5();

    //////////////////////////////////////////////////////
    //延迟实现2和4，实现晚绑定，lib写的早，app写的晚;
    //稳定的 templateMethod;
    void Run();
};

